layui.use(['layer', 'form', 'admin', 'laydate', 'ax', 'formSelects', 'tableSelect'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var form = layui.form;
    var admin = layui.admin;
    var laydate = layui.laydate;
    var layer = layui.layer;
    var formSelects = layui.formSelects;
    var tableSelect = layui.tableSelect;

    /**
     * 初始化表单，要加上，不然刷新部分组件可能会不加载
     */
    form.render();

    //初始化
    $(function(){
        var magicBoxId = $("#magicBoxId").val();
        if(magicBoxId != '' && magicBoxId != null && magicBoxId != undefined){
            //获取详情信息
            var ajax = new $ax(Feng.ctxPath + "/web/magicBox/getInfoById/" + magicBoxId);
            var result = ajax.start();
            form.val('magicBoxForm', result);
        }
    });

    // 添加表单验证方法
    form.verify({
        numver: [/^\d+$/, '请输入正整数']
    });

    // 表单提交事件
    form.on('submit(btnSubmit)', function (data) {
        var ajax = new $ax(Feng.ctxPath + "/web/magicBox/save", function (data) {
            Feng.success("保存成功！");

            //传给上个页面，刷新table用
            admin.putTempData('formOk', true);

            //关掉对话框
            admin.closeThisDialog();

        }, function (data) {
            Feng.error("保存失败！" + data.responseJSON.message)
        });
        ajax.set(data.field);
        ajax.start();

        //添加 return false 可成功跳转页面
        return false;
    });

    //下拉选择
    //默认值:只需要在触发input上添加 ts-selected="1,2,3" 属性即可 值需与checkedKey对应
    tableSelect.render({
        elem: '#magicBoxTypeName',	//定义输入框input对象 必填
        checkedKey: 'id', //表格的唯一建值，非常重要，影响到选中状态 必填
        searchKey: 'name',	//搜索输入框的name值 默认keyword
        searchPlaceholder: '魔盒类型名称搜索',	//搜索输入框的提示文字 默认关键词搜索
        table: {	//定义表格参数，与LAYUI的TABLE模块一致，只是无需再定义表格elem
            url:'/web/magicBoxType/list',
            where: {'name': ''}, //附加参数
            cols: [
                [
                    {type: 'radio'},
                    {field: 'name', title: '名称', align: 'center'},
                    {field: 'remark', align: "center", sort: true, title: '备注',
                        templet: function(object){
                            if(object.remark == '' || object.remark == null || object.remark == undefined){
                                return '-';
                            }else {
                                return object.remark;
                            }
                        }
                    }
                ]
            ],
            limits: [10, 15, 20, 25, 50, 100],
            limit: 10,
            page: true
        },
        done: function (elem, data) {
            //选择完后的回调，包含2个返回值 elem:返回之前input对象；data:表格返回的选中的数据 []
            //拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
            $("#magicBoxTypeName").val(data.data[0].name);
            $("#magicBoxTypeId").val(data.data[0].id);
        }
    });

    //下拉选择
    //默认值:只需要在触发input上添加 ts-selected="1,2,3" 属性即可 值需与checkedKey对应
    tableSelect.render({
        elem: '#periodTimeName',	//定义输入框input对象 必填
        checkedKey: 'id', //表格的唯一建值，非常重要，影响到选中状态 必填
        searchKey: 'name',	//搜索输入框的name值 默认keyword
        searchPlaceholder: '期数名称搜索',	//搜索输入框的提示文字 默认关键词搜索
        table: {	//定义表格参数，与LAYUI的TABLE模块一致，只是无需再定义表格elem
            url:'/web/periodTime/list',
            where: {'name': ''}, //附加参数
            cols: [
                [
                    {type: 'radio'},
                    {field: 'name', title: '名称', align: 'center'},
                    {field: 'startTime', align: "center", sort: true, title: '开始时间'},
                    {field: 'endTime', align: "center", sort: true, title: '结束时间'},
                    {field: 'remark', align: "center", sort: true, title: '备注',
                        templet:function(object){
                            if(object.remark == '' || object.remark == null || object.remark == undefined){
                                return '-';
                            }else{
                                return object.remark;
                            }
                        }
                    }
                ]
            ],
            limits: [10, 15, 20, 25, 50, 100],
            limit: 10,
            page: true
        },
        done: function (elem, data) {
            //选择完后的回调，包含2个返回值 elem:返回之前input对象；data:表格返回的选中的数据 []
            //拿到data[]后 就按照业务需求做想做的事情啦~比如加个隐藏域放ID...
            $("#periodTimeName").val(data.data[0].name);
            $("#periodTimeId").val(data.data[0].id);
        }
    });
});